package it.univaq.iw.jweb.utils;

import java.io.PrintWriter;
import java.util.Map;
import javax.servlet.ServletException;

/**
 *
 * @author IngegneriaDelWeb
 */
public class HTMLHelpers {

    public static void printPageHeader(PrintWriter out, String title) {
        out.println("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"
                + "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
                + "<html xmlns=\"http://www.w3.org/1999/xhtml\">"
                + "<head><title>" + title + "</title></head><body>");
    }

    public static void printPageFooter(PrintWriter out) {
        out.println("</body></html>");
    }

    //questo metodo viene usato per geneare una pagina HTML di errore, con un messaggio specificato dall'utente
    public static void makeErrorPage(TemplateManager tpl, String message, PrintWriter out) {
        Map datamodel = tpl.getDefaultDataModel();
        datamodel.put("messaggio", message);
        try {
            tpl.process("errore", datamodel, out);
        } catch (ServletException ex) {
            printPageHeader(out, "Errore");
            out.println("<h1>Errore di Elaborazione</h1>");
            out.println("<p>Il sistema ha rilevato il seguente errore durante l'elaborazione della vostra richiesta:</p>");
            out.println("<p><b>" + message + "</b></p>");
            printPageFooter(out);
        }
    }
}
